home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacFormat 2000 July
/
macformat-092.iso
/
MacFormat 92 CD
/
Demos
/
REALbasic2.1.1.sit
/
REALbasic 2.1.1
/
2.1.1 Release Notes
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
NeXTSTEP
RISC OS/Acorn
UTF-8
Wrap
Text File
|
2000-05-04
|
36.1 KB
|
1,033 lines
|
[
TEXT/R*ch
]
Release Notes for REALbasic 2.1.1
May 4, 2000
This release contains the following new features:
• (68k) Declare Sub now recognizes short parameter type for 16-
bit parameters for 68k
• (Mac) FolderItem.SaveAsJPEG implemented
• (Mac) Icons now exist for REALbasic database files and
REALbasic project stationary
• (Mac) Window property: MacWindowPtr As Integer
• (Plugin API) Added REALinRuntime Plugin API call - Returns
true if in runtime, false if in IDE
• (Win32) Application icon added
• (Win32) Contextual menu: added
• (Win32) Drag and Drop: Files implemented on Win32. The Window
control's dropEvent is the only one that is currently
supported. You can work-around this limitation by obtaining
the DropLeft and DropTop coordinates and figuring out which
control is being dropped on manually. Note: DropWidth and
DropHeight properties have no meaning in Win32 and will
return 0 unless set by a REALbasic application using
NewDragItem.
• (Win32) Drag and drop: implemented.
• (Win32) ExportPicture: implemented (but doesn't work)
• (Win32) FolderItem: ExportPicture now works for Win32. Saves
in all supported picture depths. QuickTime is REQUIRED.
• (Win32) FolderItem: FolderItem.MoveFileTo implemented
• (Win32) FolderItem: FolderItem.SaveAsJPEG implemented (but
doesn't work)
• (Win32) FolderItem: SaveAsJPEG now works for Win32. Saves in all
supported picture depths. Appends '.jpg' to folderItem.name if '.jpg'
or '.jpeg' not already present, truncates file to fit if necessary.
QuickTime is REQUIRED.
• (Win32) FolderItem: SaveAsPicture now works for Win32.
Note: On Win32 saves a bitmap file (or .bmp
file) rather than a 'PICT' file. Saves in all supported
picture depths. Appends '.bmp' to folderItem.name if not
already present, truncates file to fit if necessary.
QuickTime is NOT REQUIRED.
• (Win32) FolderItem: SelectFolder Completely rewritten for
Win32. It now calls the standard folder selection dialog
instead of the get file dialog. The new interface is much
more intuitive.
• (Win32) Keyboard: You can pass raw Win32 key codes to
GetAsyncKeyDown. Here is how you do it, Add 1 to the raw
keyCode and put it in the high word of the integer you are
passing. Example: Keyboard.AsyncKeyDown((rawKeyCode + 1) *
&hFFFF) Passing Mac Keycodes in the high word is currently
identical to passing them in the low word.
• (Win32) Listbox: Hierarchical listbox support added
• (Win32) Menu: accelerators implemented
• (Win32) Picture: NewPicture: 24bit pictures are supported
(Win32 only). 2bit, and 32bit Device Independant Bitmaps
(or DIBs) aren't supported by Windows.
• (Win32) Picture: NewPicture: 2bit, and 32bit Device
Independant Bitmaps (or DIBs) aren't supported by windows.
REALbasic relies on this technology to provide pictures under
Win32, consequently 2bit and 32bit pictures are not
supported. To make your life easier, requests for these
picture types results in the following conversions behind the
scenes: 2bit -> 4bit, and 32bit -> 24bit.
• (Win32) Picture: NewPicture: 4bit Win32 pictures now in
color, uses Mac standard 16 color palette.
• (Win32) Progress bars -- Indeterminate implemented
• (Win32) QuickTime: Implemented QuickTime. New features
include: MoviePlayer control, Movie Class,
FolderItem.OpenAsMovie, FolderItem.CreateMovie, EditableMovie
Class, QTTrack class, QTVideoTrack class, QTEffectSequence
class, GetQTCrossFadeEffect method, GetQTSMPTEeffect method
• (Win32) QuickTime: implemented. New features include:
MoviePlayer control, Movie Class, FolderItem.OpenAsMovie,
FolderItem.CreateMovie, EditableMovie Class, QTTrack class,
QTVideoTrack class, QTEffectSequence class,
GetQTCrossFadeEffect method, GetQTSMPTEeffect method
• (Win32) QuickTime: Movies continue to play in the background
when other programs or modal dialogs are in the foreground.
• (Win32) QuickTime: OpenURLMovie: now works for Win32.
• (Win32) Sound: implemented
• (Win32) Sound: Note player implemented, problems on Windows
NT
• (Win32) SpriteSurface: implemented
• (Win32) Windows: property WinHWND As Integer (r)
• About box: "Register" button has been moved, and URL now
provides visual feedback.
• Build Application... now has a keyboard shortcut (Cmd-M)
• Build Dialog: added Region Code selector
• Build Dialog: The language popup in the Build Dialog is now
more informative. The first item 'Default' now shows the name
of the default 'Debug' Language in paranthesis following the
word Default. e.g. Default (Spanish)
• Build Progress dialog: and build process now threaded. Thread
Manager is now required to use the IDE.
• Code Editor: live scrolling enabled for IDE source code
editor
• Code Editor: Page-up and Page-down implemented in the IDE
source editor.
• compilation constants: Target68k, TargetPPC
• Constants: RBVersion constant returns the major and minor
version number (e.g., 2.11).
• Constants: RBVersionString constant returns short RB version
string (e.g. "2.1a28").
• Control property: MacControlHandle As Integer
• Cursors: A pragma has been added to disable the automatic
display of the wait cursor (or watch cursor). Use #pragma
DisableAutoWaitCursor to disable the default behavior. The
pragma can be placed anywhere in the code, and it will affect
all of your code.
• Database: class method Close
• Database: now automatically closes when closing application,
project.
• DatabaseCursorField property: DateValue As Date (r/w)
• DatabaseCursorField property: DoubleValue As Double (r/w)
• DatabaseRecord: properties DoubleColumn As Double (r/w),
DateColumn As Date (r/w)
• Date: global function ParseDate(text As String, ByRef
parsedDate As Date) As Boolean
• Debugger: Variables of type "Single" can now be edited in the
debugger. (Note that you still can't edit Doubles, however.)
• DragItem properties: DropLeft As Integer (r), DropTop As
Integer (r), DropWidth As Integer (r), DropHeight As
Integer (r)
• EditableMovie: methods DataSize(startTime as integer,
durationTime As Integer) As Integer
• EditableMovie: properties TimeScale As Integer (r/w),
TimeValue As Integer (r/w), TimeDuration As Integer (r),
UserData As QTUserData (r)
• Folder Item: global function: GetTemporaryFolderItem As
FolderItem
• Folder Item: properties: MacVRefNum As Integer, MacDirID As
Integer
• Keyboard shortcut Redo added (Shift Cmd Z)
• Listbox: properties ColumnAlignment(column As Integer) As
Integer (r/w), CellAlignment(row As Integer, cell As Integer)
As Integer (r/w), Values for the alignment properties are: 0
= default alignment, 1 = Left Alignment, 2 = Center
Alignment, 3 = Right Alignment, 4 = Decimal Alignment (using
the internationalized Decimal separator),
ColumnAlignmentOffset(column As Integer) As Integer (r/w),
CellAlignmentOffset(row As Integer, cell As Integer) As
Integer (r/w), The alignment offset properties allow the
positioning of the text to be adjusted (+right)
• Menus: Item "Clear" in the menu "Edit" is now enabled for
deleting project items.
• Picture: property Mask As Picture (r) this allows you to
access a 256-gray mask that controls the transparency of the
picture
• Project window: REALbasic now does much better finding files
that have been dragged into the project window when the
entire project is moved to another volume. In general it will
find any in the same folder or a sub folder as the project.
If for some reason REALbasic still can not
find items dragged into the project the message in the find
dialog is now a bit more descriptive. e.g. If it can't find
the picture file 'wonderful' the new message that appears is
"Where is the picture called 'wonderful'?" instead of "Where
is wonderful?"
• PushButton: method Push - Causes the push button to be
visually pushed, as well as triggering the Action event
• QuickTime: class QTGraphicsExporter: HasSettingsDialog As
Boolean (r), RequestSettings As Boolean, DefaultExtension As
String (r), SettingsDescription As String (r),
DesiredTargetDataSize As Integer (r/w), CompressionQuality As
Integer (r/w), OutputFileType As String (r/w),
OutputFileCreator As String (r/w), SavePicture(location As
Folder, image As Picture) As Boolean
• QuickTime: class QTUserData: UserDataCount(udType As string)
As Integer, GetUserData(udType As string, index As Integer,
ByRef value As string) As Boolean, AddUserData(udType As
string, value As string), RemoveUserData(udType As string,
index As Integer), GetUserDataText(udType As string, index As
Integer, ByRef value As string, region As Integer) As
Boolean, SetUserDataText(udType As string, index As Integer,
value As string, region As Integer)
• QuickTime: global method: GetQTGraphicsExporter(format as
string) As QTGraphicsExporter
• QuickTime: Movie property MovieHandle As Integer
• QuickTime: MoviePlayer property QTMovieController As Integer
(r)
• QuickTime: QTTrack methods: DataSize(startTime as integer,
durationTime As Integer) As Integer (r)
• QuickTime: QTTrack properties: TimeScale As Integer (r/w),
TimeDuration As Integer (r), TrackID As Integer (r)
• Serial properties: MacInDriverRefNum As Integer (r),
MacOutDriverRefNum As Integer (r), Win32DriverHandle As
Integer (r)
• Sound: class SoundFormat Properties: Rate As Double (r/w),
SampleSize As Integer (r/w), ChannelCount As Integer (r/w),
Compression As String (r/w), SamplesPerPacket As Integer (r),
BytesPerSample As Integer (r), BytesPerFrame As Integer (r),
BytesPerPacket As Integer (r), Methods:, SoundFormat(rate As
Double, SampleSize As Integer, ChannelCount As Integer,
compression As String) [constructor], SelectSettings As
Boolean
• Sound: methods PlayLooping, Stop
This release contains the following improvements to previous features:
• (Mac) IDE: when a line of code is too complex to compile for
68k, the compiler says so rather than showing an assertion
failure.
• (Win32) Events: AppActivate, AppDeactivate, AppNewDocument,
and MDI child window activates and deactivates. Note: event
problems still exist.
This release contains the following optimizations:
• Built applications: applications built with 2.1 are faster
than previous versions. Expect a Real World performance
increase of 4%, although we have seen speed ups in the 30%
range. Test your applications and let us know your mileage.
• Edit field: REALbasic multi-line edit controls are up to 1%
faster in benchmarks that stress this control.
• Listbox: AddRow and RemoveRow now perform up to 10X faster.
Various bug fixes caused these workarounds to fail:
• (Win32) Printing: compensating for the printing bug by
altering the location of the Drawstring y parameter will no
longer work properly.
• Sprites: Sprite code which worked around or took advantage of
previous buggy behavior will need to be updated.
This release contains the following changes to behavior:
• (All) Changed runtime errors to not mention REALbasic or
REALbugs to avoid end user confusion.
• (DBCS) Changes made to Input Palette behavior on Double Byte
systems
• (DBCS) Space no longer inserted before dropped double-byte
text when using WASTE text engine on double-byte systems.
• (ODBC) LONG VARCHAR/LONG VARBINARY handling improved for ODBC
driver
• (Win32) Bevel button fixed to use Windows colors properly
• (Win32) Built applications now have a VirtualPC compatible
creator code and file type
• (Win32) byRef: Calling floating point values by reference in
Win32 still doesn't work, but now displays a more useful
error message, and aborts the build.
• (Win32) Drag and drop: pictures implemented
• (Win32) Listbox: fixed to use Windows colors properly
• (Win32) Listbox: Hierarchical lists now have a more standard
looking disclosure widget.
• (Win32) Listbox: now implemented checkbox column type
• (Win32) Sound: Runtime explicitly shuts down DirectSound
object to fix NT4 bug
• (Win32) Text Styles: Error messages are displayed when trying
to use unsupported text styles under windows.
• (Win32) Windows: Floating windows implemented
• About box: now reflects more accurate version information.
• About box: updated to reflect new team members
• Binding: Binding window now wider. This should allow you to
see the binds better.
• Build Dialog: Cancel button removed from Build Progress
dialog box (it was redundant anyway)
• Build Dialog: New and improved error messages are displayed
when the a REALbasic build fails.
• Build Dialog: the "Version Info" label has been changed to
the more accurate "Package Info".
• Confirmation dialog: removed dialog that appears whenever a
user attempts to remove a method/property/new
event/menuhandler/etc from a window/module/class.
• Database: 4D database driver extended to support 4D Picture
field
• Database: 4D database driver now returns list of indexes (r)
• Database: dtF database driver now returns better error
messages
• Database: dtF/SQL database driver improvements
• Database: dtF/SQL database driver now returns list of indexes
(r)
• Database: error code for "primary key violation" changed from
2003 to 2005.
• Edit constant dialog boxes now supports Cut/Copy/Paste for
editfields
• Find dialog: now automatically selects all of the Find string
when brought to the front
• IDE: Added a Scroll bar to the list box in the Constants
dialog
• Japanese OS: Support having US and Japanese IDE serial #
installed on the same machine
• ListBox: Slight change to semantics of
Listbox.CellAlignmentOffset - now overrides
ColumnAlignmentOffset when <> 0, would previously only
override when a non-zero CellAlignment was set.
• MacWindowPtr property now exported properly
• Menus: New and or different icons have been added to the
menus.
• Online Reference content has been updated
• Online Reference now has an introduction section and some
spurious lines were removed.
• Online Reference now renders read-only properties in bold
• Saved project files now remember the position of the project
window and code editor windows
• Sound: Maximum number of simultaneous sounds has been
increased from 4 to 16.
• Strings: Attempts to create an overly large string from a
buffer (e.g., with REALBuildString) now return an empty
string, instead of causing the app to quit.
• Tab panels: The format in which tabpanels are stored has been
changed, projects with tabpanels that have been saved with
this version will not display tabpanels correctly in older
versions.
• Text Encoding Vector: Workaround added for bug in Apple's
Text Encoding Converter with invalid inputs
• Threads: ThreadID property added to Thread class (for MacOS &
Win32)
The following bugs were fixed in this release:
• (68k) Arrays: Boolean arrays now work.
• (68k) Bevel buttons and placards are no longer depressed in
68k apps.
• (68k) Bevel buttons no longer get "stuck" in 68k apps.
• (68k) Declare Sub boolean return parameters fixed
• (68k) Declare Sub parameter passing for boolean parameters on
68k fixed
• (68k) Declare Sub routines now handle return values properly
(including short)
• (68k) Edit field: ReadOnly property fixed
• (68k) Fixed bug with 68k declare functions (allocating return
space)
• (68k) IDE: Enabled property of various controls in 68k IDE
fixed
• (68k) Listbox: applications no longer crash when editable
list box is clicked.
• (68k) Listbox: applications no longer crash with LOADSEG
failure if they didn't have a listbox
• (68k) Plugins: Boolean parameters for Plugin functions are
now treated as being 4 bytes long. Boolean return values are
safely handled so that they accurately represent the value
returned by the plugin function (no corruption occurs.)
• (68k) Socket: Calling Socket.LocalAddress no longer results
in a crash
• (68k) Static text: bug with statictext font style fixed
• (68k) Visible and Enabled properties can now be changed in
68k built apps.
• (DBCS) Double-byte intelligent text drag & drop behavior
altered. Let us know if the change is inadequate.
• (DBCS) Input Manager behavior altered. Should appear on
double-byte localised versions of MacOS more frequently
• (DBCS) Uppercase, Lowercase, and InStr now work more reliably
for two-byte character systems (e.g., Japanese).
• (Mac) Drag item: no longer crashes with bad drag data, it
just ignores it.
• (Mac) Edit field: Control now updates immediately if user
changes from no password to password mode
• (Mac) Input Manager: The floating palette now works in both
the IDE and in built apps.
• (Mac) Japanese: LTrim, RTrim, and Trim no longer cut certain
characters (e.g., "ha").
• (Mac) Menu bars: Using balloon help in menu bars no longer
leaks memory.
• (Mac) Static Text: fixed the odd refresh problem some were
experiencing when using static text on a canvas control.
Thanks Dr. Gerard Hammond, James Sentman, David Grogono, and
Cortis Clark.
• (Mac) Strings: Trying to read a very large file into a string
returns an empty string instead of an out of memory error.
• (Mac) Windows: Global floating windows now accept drags.
• (ODBC) driver now supports out-of-order retrieval of column
values (This was a limitation in ODBC which the driver now
works around)
• (PPC) Short Declare Sub short return parameters for PowerPC
fixed
• (Win32) Bevel buttons: fixed for disabled appearance
• (Win32) Bevel buttons: value returns the correct value in
code.
• (Win32) Bevel buttons: value returns the correct value in
code.
• (Win32) Color: Mac <--> Win32 color conversions are more
accurate.
• (Win32) Cursors: Windows custom cursors now have the correct
hot-spot
• (Win32) Date: class properties update correctly
• (Win32) Date: class updates without showing debugging dialog;
this bug was introduced in a20
• (Win32) Declare Statement: Works specifically fixes problem
with ptr (or memoryblock) within declares.
• (Win32) Disclosure triangles value returns the correct value
in code.
• (Win32) DrawString: Fixed DrawString with an
OpenPrinterDialog so that the coordinates specified in
DrawString refer to the baseline and not the upper left
corner
• (Win32) Edit field: Default text in Multi-line edit controls
now convert line endings properly for Win32 replacing
carraige returns with carraige return line feeds. Note
• (Win32) Edit field: now honors colors in EditFields. There are
some circumstances where the editfield will not refresh
properly however. Styled edit fields do not honor text color.
• (Win32) Edit field: now supports changing fonts in EditFields.
• (Win32) Edit field: password Editfields now work
• (Win32) Edit field: Single line now refresh correctly on
winNT.
• (Win32) FolderItem: OpenAsPicture no longer leaks memory.
• (Win32) FolderItem: OpenAsPicture will now open file types
other than .bmp namely .gif, .jpg, .pic, .png etc. Note:
QuickTime must be installed to open these additional types.
• (Win32) Icons: built application icons have much more
accurate color, blues and reds are no longer reversed.
• (Win32) Icons: built application icons no longer constrain
the icon to a diamond when the ICN# resource isn't present.
• (Win32) Keyboard: now supports keyboard objects. The key
codes are mapped directly from the Mac "Extended Keyboard
Layout". The following is a list of keys which have mappings
which aren't necessarily obvious: Option = Alt, Command =
Windows, Help = Insert, Clear = Num Lock, F13 = Print Screen,
F14 = Scroll Lock, F15 = Pause.
• (Win32) Line controls update correctly
• (Win32) Listbox: Hierarchical listboxes now highlight only
the word portion of the each column this behavior is inline
with how Windows handles this same issue, see Windows
Explorer.
• (Win32) Listbox: Inline editable listbox fixed
• (Win32) Listbox: Pictures used in listboxes now appear in
Color, the color white is transparent so when the row is
highlit you don't see an ugly border around the picture.
• (Win32) Listbox: reduced flicker in listbox redrawing.
• (Win32) Listbox: Windows apps no longer crash when you
attempt to sort an empty list box (i.e. - clicking in
heading)
• (Win32) MDI: MouseMove, MouseEnter, and MouseExit events now
fire in MDI applications.
• (Win32) Number: Format now handles exponents
• (Win32) ODBC: SelectODBCDatabase fixed
• (Win32) Picture: Graphics.FrameRoundRect and
Graphics.FrameOval now uses Graphics.PenWidth instead of 1
• (Win32) Placards now update when their value is set in code.
• (Win32) PopUpArrows facings can be set in code.
• (Win32) Printing: Bug with Win32 printing to page >1 fixed
• (Win32) Printing: Styled text printer now works.
• (Win32) Quicktime: movie controller now is functional.
• (Win32) Quicktime: no longer cause other interface elements
to disappear or not refresh themselves.
• (Win32) Quicktime: no longer crash on exit.
• (Win32) StaticText: controls no longer cause a crash in win32
compiles when overlapping certain controls.
• (Win32) StaticText: now honors the window background color
• (Win32) StaticText: now redraw correctly when on top of other
controls
• (Win32) string alignment in offscreen buffer fixed
• (Win32) Strings: CDbl, CStr and Format now use correct
separators on foreign language systems
• (Win32) Tab panels: no longer require a user refresh before
looking their best.
• (Win32) Tabpanels: bug with controls on Tab panels fixed
• (Win32) Windows: Made Window Frames much more consistent,
changes especially evident in MDI environment. Modals: now really
modal and can be made re-sizable (GrowIcon) Moveable Modals:
now can have close boxes (CloseBox), can be made re-sizable
(GrowIcon), and now can have minimize and maximize boxes
(ZoomIcon) Global Floating Windows: now float over every
other window (except other Global Floaters) and have thin
title bars Floating Windows: now float over every window in
the application, but not over other windows in other
applications. ShadowBoxes: now look distinct from PlainBox.
Note: Minimize and maximize boxes require a close box to be
present. This is done automatically if you specify (ZoomIcon)
Note: Floating Window types can't have Minimize and Maximize
Icons. Note: PlainBox and ShadowBox are modal on Win32.
Note: MDI document windows must be closable, resizeable,
minimizeable, and maximizeable. Note: Since there is nothing
remotely similar to a rounded window in Win32 it behaves
identically to a Document Window.
• (Win32) Windows: apps now honor window background colors.
• (Win32) Windows: bug with modal dialogs still behaving modal
when hidden fixed
• (Win32) Windows: Movable Modal and Floating Dialog windows no
longer cause crashes on Win32
• (Win32) Windows: Window.show now forces window to be front
most
• About Box: layout has been slightly altered to better
accomodate the Japanese version.
• AppleEvent.EnumeratedParam exported properly
• Arrays: Boolean array remove bug fixed
• Arrays: Boolean arrays are now properly displayed in the
debugger.
• Arrays: Local arrays can now again be viewed in the debugger.
• Binding: object binding now works in compiled apps.
• Build Dialog: A crash in the build dialog (or with use of
RGBSurface) on 8.0/8.1 machines has been fixed.
• Build Dialog: has a more consistent appearance using themes.
• Build Dialog: is properly closed when build fails
• Build Dialog: now clears short version, long version, version
info, and icon data when a new project is created.
• Build Dialog: Quitting REALbasic after changing settings in
the Build dialog now ask user if they want to save.
• Build Dialog: The language popup now remembers last setting
between builds.
• Class: Setting class name equal to the superclass no longer
causes a crash.
• Code Editor: Built-in constants now autocomplete, just like
other REALbasic keywords.
• Code Editor: Home and End now work properly in the IDE source
editor, and no longer move the insertion point.
• Code Printing: Project Items such as Menus that would
previously print a blank page when attempting to print now
print their name.
• Color Arrays: using Insert/Append on color arrays fixed
• Constants: Fixed several bugs relating to constants and
languages.
• Controls: Many controls are now robust to calling 'close' in
an event handler, then failing to return 'true' .
• Controls: Reduced likelihood of crash when a bevel button or
plug-in control is deleted during its own event handler.
• Cursors: Corrected leak resulting from use of mouse cursors.
• Cursors: If the cursor was hidden when a program aborted, it
no longer is re-hidden when you restart the program.
• Database: a REALbasic database could be opened multiple
times concurrently
• Database: Column name error for REALbasic database
FieldSchema = said "AllowNull" when was really "NotNull"
• Database: Crash when calling database.FieldSchema as first
call on project database fixed
• Database: Crashing bug in RDBD with accessing LONG VARCHAR
fields fixed
• Database: DatabaseCursorField.DoubleValue exported properly
• Database: Fixed SQL 'OR' Operator in REAL DB.
• Database: Fixes to Database.InsertRecord for external SQL
databases for non-string values
• Database: Many dtF database driver bugs fixed
• Database: Memory leak fixed in SQLSelect
• Database: PostgreSQL driver FieldSchema fixed
• Database: PostgreSQL driver now recognizes CHAR fields
• Database: PostgreSQL memory leak fixed
• Database: REALbasic database aggregates fixed
• Database: REALbasic database bug with updating incorrect
column fixed
• Database: REALbasic database bug with updating multiple
columns fixed
• Database: REALbasic database errors that weren't cleared
fixed
• Database: REALbasic database memory leak when opening/closing
database fixed
• Database: REALbasic database no longer crashes when you
attempt to store a varchar data longer than the maximum data
length (currently 8174 bytes).
• Database: REALbasic database now properly returns an error on
NotNull violations instead of silently failing
• Database: REALbasic database now properly returns an error
when inserting a record with an invalid column
• Database: REALbasic database ORDER BY sometimes using
incorrect sort direction for 2nd or later order columns fixed
• Date: Dates now update automagically; no need for
"d.totalseconds = d.totalseconds" work-around.
• Date: ParseDate fixed
• Debugger: Arrays should now always be viewable.
• Debugger: editing key value during a breakpoint in a KeyDown
event no longer causes a crash.
• Debugger: no longer allows you to tab into uneditable fields
(such as Doubles) and thereby to cause a crash.
• Debugger: no longer crashes when killing the debug session if
the user has the insertion point in an edit field in the
variables window.
• Edit field: Setting the password mode in an EditField no
longer looses the current selection. (Mac and Win32)
• Edit field: Single-line edit controls no longer receive
duplicate KeyDown events.
• Events: Using "quit" method now causes Close events to fire,
just like Quit menu command.
• Files: Fixed bug with IDE file tracking when project moved
• Folder Item: FolderItem.Launch extended to support APPC,
appe, and cdev
• Folder Item: SelectFolder: now returns nil if the user
selected 'Cancel' .
• FolderItem: GetFolderItem now returns nil when given an
invalid path. Note that existing code may need to be updated.
• IDE: Menus: "Clear" menu command no longer deletes the source
window if no source text is selected (actually, it's not even
enabled in this case).
• IDE: no longer crashes when Undo removes a control while its
properties are being edited.
• IDE: remembering position of an open code window fixed
• Lines: created or moved at runtime now update properly.
• Listbox: listbox.CellAlignment and
listbox.CellAlignmentOffset fixed
• Listbox: now behave correctly when a cell being edited is
deleted via RemoveRow or DeleteAllRows .
• Listbox: Occasional crash while sorting a hierarchical
Listbox now fixed.
• macControlHandle property now works in compiled apps.
• Memory Block: Attempting to store values beyond the bounds of
a MemoryBlock now raises an OutOfBounds exception, rather
than trashing memory contents.
• Memory Block: Attempts to allocate a memory block for which
there is insufficient memory now returns nil, rather than
causing an internal assertion failure.
• Memory Block: Range checking is skipped for size = zero
MemoryBlocks returned by m.Ptr. Warning: this allows you to
write to arbitrary memory and if used incorrectly, may crash
the computer.
• Memory: Compiled apps no longer hijack system memory, sound
channels are now allocated only when needed (reduces system
memory usage).
• Memory: Out-of-memory conditions now display an error message
and quit the application, rather than crashing the computer.
• Numbers: Format() no longer produces a leading comma before
three-digit numbers.
• Numbers: Very large numbers no longer crash Format().
• Picture: Nil pictures passed to ExportPicture now raise a
NilObjectException, rather than crashing .
• Picture: Picture Mask memory leak fixed
• Picture: Picture mask property exported properly
• Picture: Picture.RGBSurface now returns nil for 8-bit
pictures, and now works correctly for 16-bit pictures.
• Plugins: Boolean parameters to plug-ins now work, even when a
68k plugin is called from PPC code.
...But please note:
• Plugins: Bug fixed with plugin inclusion in built
applications
• Plugins: Plugin functions are now correctly linked in large
projects
• Popup menu: now raises OutOfBoundsException as required
(instead of crashing)
• project window: will no longer be opened offscreen.
• QuickTime: Import Bug crashing with QT2.5 installed fixed
(usually MacOS 8 machines)
• QuickTime: Movie.looping and .palindrome can now be set at
runtime with the desired effect.
• QuickTime: QTEffectSequence class no longer returns empty
pictures
• Quit: Multiple close events are no longer fired when built
apps quit.
• Run: Code which previously invoked Debugger() now displays an
error dialog instead.
• Run: Crash which could occur when a breakpoint or error
occurred while quitting a run in the IDE has been fixed.
• Scrollbars: now proportional on systems which support that.
• Sockets: no longer crash when the remote host disappears
during a transaction.
• Sockets: work in the IDE again (broken since a18)
• Sound: IsPlaying property re-enabled
• Sound: Looping sounds no longer leak channels (i.e., hold
channels open after they have been stopped).
• Sound: Looping sounds now have priority over non-looping
sounds.
• Sound: now stop when a run is terminated and you return to
the IDE.
• Sprite surface: An assertion failure while scrolling a
SpriteSurface was fixed.
• Sprite surface: insufficient memory now throws a
nilObjectException rather than causing an internal assertion
failure.
• Sprite surface: is now more robust to errors such as
insufficient memory.
• Sprite surface: stopped with the Close method can now be
restarted, even if it makes reference to surface.Graphics.
• Sprite surface: stopped with the Close method can now be
restarted.
• Sprite surface: works in the IDE again (really, we mean it
this time).
• Sprites: now collide correctly even when straddling X=0 or
Y=0.
• Sprites: now collide correctly even when X or Y less than
zero.
• Sprites: now consistently use the world coordinate system.
• Strings: InStr, InStrB: fixed a minor bug with return value
of InStr(s, "") (and same for InStrB).
• Strings: InStrB: now does byte-oriented, case-sensitive
search (previously was equivalent to InStr).
• Tab panels: can now use constants, as can multi-line edit
fields and list boxes.
• Threads: Issues with (stackOverflowExceptions) resolved.
• Threads: yield more time to other processes & threads
• Timers: which close their own window no longer cause
occasional crashes.
• Windows: Failing to return true after Closing a window within
its event handler no longer causes a crash.
• Windows: Fixed a crash which could occur when closing windows
under certain circumstances.
• Windows: Show/Hide methods now update visible property
• Windows: Show/Hide methods now update visible property in
compiled apps
• Windows: Window and menu names are now validated just like
class names.
Various bug fixes caused these workarounds to fail:
• (Win32) Printing: compensating for the printing bug by
altering the location of the Drawstring y parameter will no
longer work properly.
• Sprites: Sprite code which worked around or took advantage of
previous buggy behavior will need to be updated.
The following known issues still exist in this release
• (Mac) Conflict between Palm Desktop extension and menu items
added to Help, on some versions of the Mac OS. Fix: rename
extension to make it load last.
• (Plugin API) Plugins should be recompiled with latest SDK to
ensure that 68k code can be correctly called from PPC apps.
• (Win32) byRef: Calling floating point values by reference in
Win32 still doesn't work, but now displays a more useful
error message, and aborts the build.
• (Win32) Date: global function ParseDate(text As String, ByRef
parsedDate As Date) As Boolean crashes.
• (Win32) DisclosureTriangles and PopUpArrows do not refresh
correctly unless self.refresh is used.
• (Win32) Drag and drop: pictures implemented but still has
problems
• (Win32) Edit field: Single line colors do not work - styled
multiline can be used instead.
• (Win32) Edit field: Styled edit fields do not honor text
color.
• (Win32) Sound: Runtime explicitly shuts down DirectSound
object to fix NT4 bug
• DatabaseCursorField property: JPEGValue As Picture (r/w)
doesn't work.
• DatabaseCursorField property: MacPictValue As Picture (r/w),
IntegerValue As Integer (r/w) doesn't work.
• DatabaseRecord: properties MacPict As Picture (r/w) doesn't
work.
• DatabaseRecord: property JPEGColumn(name As String) As
Picture doesn't work.
• Debugger: Variables of type "Double" cannot be edited in the
debugger.
• Listbox: Deleting a row in a listbox if no row is selected and
the scrollbar is at the bottom can cause list to appear
incorrectly. listbox1.refresh or setting the listindex solves
problems.